#include <stdio.h>
#include "Gestion_file_attente_personnel.h"

Personnel saisir_personnel()
{  Personnel p;

    printf ("Entrez le nom du nouveau personnel \n ");
    scanf ("%s", p.nom);
    printf ("Entrez le prénom du nouveau personnel \n ");
    scanf ("%s", p.prenom);
    printf ("Entrez l'age du nouveau personnel \n");
    scanf ("%d", &(p.age));
    printf ("Entrez l'identifiant du nouveau personnel \n");
    scanf ("%d", &(p.id));
  return(p);

}

void ajouterPersonnelAttente()
{

    Personnel p;
    char chemin[]="fpersonnelattente.txt";
    FILE *f;

    f=fopen(chemin,"a");
    if(f==NULL)
    {
        printf("Impossible d'ouvrir le fichier \n");
    }
    else{
                p=saisir_personnel();
                fprintf(f,"\n%s %s %d %d",p.nom,p.prenom,p.age,p.id);
    }
    fclose(f);

}

void remplir_tab_personnel(Personnel Tab[], int *n)
{
    char chemin[]="fpersonnelattente.txt";
    FILE *f;
    Personnel P;
    int i;

   f=fopen(chemin,"r");
    if(f==NULL)
    {
        printf("impossible d'ouvrir le fchier %s \n", chemin);
    }
    else
    {
        i=0;
        while ((fscanf(f,"%s %s %d %d ",P.nom,P.prenom,&P.age,&P.id) != EOF))
        {
            Tab[i]=P;
            i++;
        }
         *n=i;
    }
   fclose(f);

}

void supprimmerPersonnelAttente()
{
    Personnel p;
    Personnel Tab[100];
    int i,j,x;
    int n;
    int test=0;
    char chemin[]="fpersonnelattente.txt";
    FILE *f;

         printf("Donnez l'identifient du Personnel a supprimer \n");
         scanf("%d",&x);
         remplir_tab_personnel(Tab,&n);
         for(i=0;i<n;i++)
         {
            if (x==Tab[i].id)
            {
                test=1;
                for(j=i;j<n;j++)
                {
                    Tab[j]=Tab[j+1];
                }
                n--;
                break;
            }
        }
    f=fopen(chemin,"w");
    if(f==NULL)
    {
        printf("Impossible d'ouvrir le fichier! \n");
    }
    else{
        if(test==0)
        {
            printf("Le personnel est inéxistant !\n");
        }else {
               for (i=0;i<n;i++)
               {
                p=Tab[i];
                fprintf(f,"%s %s %d %d \n",p.nom,p.prenom,p.age,p.id);
               }
              }
    }
     fclose(f);

}

void afficherPersonnelAttente()
{
    Personnel p;
    char chemin[]="fpersonnelattente.txt";
    FILE *f;
    f=fopen(chemin,"r");
    if(f==NULL){
        printf("Impossible d'ouvrir le fichier! \n");
    }
    else{
        printf("\n\n \tLa Liste des personnels en attente\n\nNom     | Prenom       |Age   |Identifiant\n----------------------------------------------\n");
        while (fscanf(f,"%s %s %d %d ",p.nom,p.prenom,&p.age ,&p.id) != EOF)
        {
            printf(" %s | %s | %d | %d \n----------------------------------------------\n",p.nom,p.prenom,p.age,p.id);
        }

    }
    fclose(f);

}
